<!DOCTYPE html>
<html>
<head>
	<title></title>
	<link rel="stylesheet" type="text/css" href="../公用CSS文件/all.css" />
	<meta charset="utf-8">
	<script type="text/javascript" src="../js/jquery.min.js"></script> 	<script type="text/javascript" src="../js/js.js"></script>
	<style type="text/css">
		.nomar td{padding-right: 10px}
	</style>	
</head>
<body>
<div class="dt">vim编辑器概念</div>
<ul>
	<div class="ltable showimg">vim、vi编辑器</div>
	<div class="img">
		<li>vi编辑器是所有Unix及Linux系统下标准的编辑器，相当于windows系统中的记事本一样。vim编辑器是vi的升级版本，在vi编辑器的基础下增加了类似代码编辑工具一样的根据内容区别颜色显示的功能，此外还有正则搜索、多文件编辑、块复制等功能</li>
	</div>

	<div class="ltable showimg">vim、vi编辑器三种模式</div>
	<div class="img">
		<table>
			<tr>
				<th>模式</th><th>说明</th>
			</tr>
			<tr>
				<td>编辑模式</td><td>默认模式，可以操作光标的移动、内容检索替换、删除字符、复制粘贴</td>
			</tr>
			<tr>
				<td>(末尾模式)命令模式</td><td>在编辑模式下使用:进入，可以保存、高亮、定位光标、删除等操作</td>
			</tr>
			<td>输入模式</td><td>在编辑模式下使用i、a、o、r进入，在当前光标的指定位置输入字符，R为完全替换模式，r为单字符替换</td>
		</table>
	</div>
</ul>

<div class="dt">vim编辑模式基本操作</div>
<ul>
	<div class="ltable showimg">编辑模式光标跳转和定位</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>移动光标</td><td>方向键和回车键，类似于Windows编辑器</td>
			</tr>
			<tr>
				<td>跳转到下一个单词头</td><td>w</td>
			</tr>
			<tr>
				<td>跳转到下一个单词尾</td><td>e</td>
			</tr>
			<tr>
				<td>跳转到前一个单词头</td><td>b</td>
			</tr>
			<tr>
				<td>跳转到前一个单词尾</td><td>ge</td>
			</tr>
			<tr>
				<td>跳转到指定行</td><td>数字+G，不指定跳转至尾部</td>
			</tr>
			<tr>
				<td>跳转到行尾</td><td>$</td>
			</tr>
			<tr>
				<td>跳转到行首</td><td>0或^</td>
			</tr>
			<tr>
				<td>翻页跳转</td><td>Ctrl+字母：u向上半屏，b向上一屏；d向下半屏，f向下一屏</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">编辑模式删除和剪切操作</div>
	<div class="img">
		<table>
			<tr>
				<th>命令</th><th>说明</th>
			</tr>
			<tr>
				<td>删除字符</td><td>数字+x向后删除，数字+X向前删除；不指定默认为1个</td>
			</tr>
			<tr>
				<td>剪切单词</td><td>数字n+dw，剪切n个单词</td>
			</tr>
			
			<tr>
				<td>剪切到n行</td><td>d+数字n+G，由光标所在删除到第n行，第1行为头，不指定数字为尾部</td>
			</tr>
			<tr>
				<td>剪切n行</td><td>数字n+dd，由光标所在行向下删除n行，不指定默认为1行</td>
			</tr>
			<tr>
				<td>剪切到行尾</td><td>d$</td>
			</tr>
			<tr>
				<td>剪切到行首</td><td>d0或者d^</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">编辑模式选取操作</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>v</td><td>进入字符选取操作</td>
			</tr>
			<tr>
				<td>V</td><td>进入行选取操作</td>
			</tr>
			<tr>
				<td>Ctrl+v</td><td>进入块选取操作</td>
			</tr>
		</table>
		<li>在vim编辑器中只有进入块选取才能像Windows大众编辑器那样鼠标拉动选取一块</li>
		<li>选取区块后，y键复制选区文字，d键删除选区文字，也可以通过Shift+>>操作缩进，选区操作一次后就会失效</li>
		<li>除了这些粘贴复制命令，还有ddp能快速交换所在行和下一行</li>
	</div>

	<div class="ltable showimg">编辑模式检索字符</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>向上检索字符</td><td>输入/+检索字符，按回车</td>
			</tr>
			<tr>
				<td>向下检索字符</td><td>输入?+检索字符，按回车</td>
			</tr>
			<tr>
				<td>查找上一个</td><td>按N</td>
			</tr>
			<tr>
				<td>查找下一个</td><td>按n</td>
			</tr>
		</table>
		<li>编辑模式无法替换检索出的字符，而是使用命令模式的:“s/检索字符/替换字符/”系列命令操作</li>
	</div>

	<div class="ltable showimg">编辑模式复制粘贴命令</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>复制至n行</td><td>y+数字n+G，无数字复制到尾部，数字1复制到开头</td>
			</tr>
			<tr>
				<td>复制n行</td><td>数字n+yy，不指定默认一行，从光标所在行向后复制</td>
			</tr>
			<tr>
				<td>复制单词</td><td>y+数字+w，复制n个单词</td>>
			</tr>
			<tr>
				<td>复制至行尾</td><td>y$，包含光标所在字符</td>
			</tr>
			<tr>
				<td>复制至行首</td><td>y+^或者y+0，不包含光标所在字符</td>
			</tr>
			<tr>
				<td>粘贴到光标后</td><td>p</td>
			</tr>
			<tr>
				<td>粘贴到光标前</td><td>P</td>
			</tr>
		</table>
	</div>

	<div class="ltable showimg">编辑模式其他操作</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>撤销上一次操作</td><td>u(不区分大小写)，仅能撤销到上一次</td>
			</tr>
			<tr>
				<td>记忆操作</td><td>p+缓存名进入记忆，p结束记忆。缓存名可以为数字和字母</td>
			</tr>
			<tr>
				<td>使用记忆操作</td><td>@+缓存名，再次调用记忆的操作</td>
			</tr>
			<tr>
				<td>左缩进</td><td> >> </td>
			</tr>
			<tr>
				<td>右缩进</td><td> << </td>
			</tr>
			<tr>
				<td>多行缩进</td><td>n + 左右缩进</td>
			</tr>
		</table>
	</div>

</ul>

<div class="dt">vim命令模式基本操作</div>
<ul>
	<div class="ltable showimg">命令模式替换操作</div>
	<div class="img">
		<table>
			<tr>
				<th>操作</th><th>说明</th>
			</tr>
			<tr>
				<td>替换匹配字符</td><td>【检索行参数】s/待替换字符/替换字符/【修饰符cgi】</td>
			</tr>
		</table>
		<li>追加的修饰符中，c代表替换前询问，g代表整行匹配(否则只替换选定行的第一个匹配字符)，i代表不区分大小写</li>
	</div>

	<div class="ltable showimg">检索行参数</div>
	<div class="img">
		<table>
			<tr>
				<th>参数</th><th>说明</th>
			</tr>
			<tr>
				<td>%</td><td>所有行</td>
			</tr>
			<tr>
				<td>$</td><td>最后一行</td>
			</tr>
			<tr>
				<td>0</td><td>在第一行</td>
			</tr>
			<tr>
				<td>.</td><td>当前行</td>
			</tr>
			<tr>
				<td>n,m</td><td>在n到m行之间替换</td>
			</tr>
		</table>
	</div>



</ul>
		
				
				
				
				
				
				
				
				
				
				
				
				
	
				
				
			
				
				
				
				
	
				
			
			
		

		
		

	
	


</body>
</html>
